Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

274
Views
"No se puede usar la declaración de importación fuera de un módulo" y "Error de sintaxis no detectado: identificador inesperado" al importar una clase

Estoy tratando de importar una clase a mi archivo "main.js". Aquí hay una versión minificada de mi código.

 // "extended.js" file export default class Test { constructor() { this.prop = "Hello" console.log(this.prop) } } // "main.js" file window.onload = function () { import Test from "./extended" new Test() }

El archivo main.js es el archivo JavaScript de interfaz para mi aplicación Express, por lo que se almacena en la carpeta "pública". Cuando carga la página, el error inicial que ocurre es "No se puede usar la declaración de importación fuera de un módulo". He investigado por mi cuenta y varias personas han declarado que el uso de type="module" para la etiqueta de secuencia de comandos "main.js" resolverá el problema. Cuando hice eso, el error cambió a "Error de sintaxis no detectado: identificador inesperado". ¿Hay algo que me falta sobre cómo usar los módulos y las clases de ES6?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Solo puede importar en el nivel superior; no se puede hacer dentro de un bloque. Cambio

 window.onload = function () { import Test from "./extended" new Test() }

a

 import Test from "./extended" window.onload = function () { new Test() };

Sin embargo, también sugeriría no crear clases para efectos secundarios: si solo desea que la clase haga algo, pero no que devuelva algo útil, use una función simple en su lugar.

 export default () => { const prop = "Hello"; console.log(prop); };
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!